
// SmartEnum.h : smart enum macros
//

#pragma once

/********************************************
 Example of use:

	BEGIN_ENUM(Color)
		Red, Green, Blue
	END_ENUM(Color)

	Color c = Colors::Red;
	if(c == Colors::Blue)
	{
	}

*********************************************/

#define BEGIN_ENUM(name) \
struct name##s \
{ \
	enum E \
	{ 

#define END_ENUM(name) \
	}; \
}; \
typedef name##s :: E name;
